
#ifndef __EDNN_ACTIVATION_H__
#define __EDNN_ACTIVATION_H__



#include "ednn_layers.h"



struct ednn_layer *ednn_activation_layer(struct ednn_activation *act);
struct ednn_layer *ednn_relu_layer(void);
struct ednn_layer *ednn_leakyrelu_layer(float alpha);
struct ednn_layer *ednn_advrelu_layer(float appha, float max, float threshold);
struct ednn_layer *ednn_sigmoid_layer(ednn_int32_t dec_bit);
struct ednn_layer *ednn_tanh_layer(ednn_int32_t dec_bit);

#define Activation(act)  ednn_activation_layer(act)
#define ReLU()           ednn_relu_layer()
#define LeakyReLU(alpha) ednn_leakyrelu_layer(alpha)
#define AdvReLU(alpha, max, threshold) \
    ednn_advrelu_layer(alpha, max, threshold)
#define Sigmoid(dec_bit) ednn_sigmoid_layer(dec_bit)
#define TanH(dec_bit)    ednn_tanh_layer(dec_bit)



#endif /* __EDNN_ACTIVATION_H__ */
